#include<iostream>
#include<algorithm>

using namespace std;
const int maxn = 50000+10;
int rk[maxn];
int L, N, M;
bool check(int x) {
  int now = 0;
  int cnt = 0;
  for(int i=1; i<=N+1; ++i) {
    if(rk[i]-now < x) {
      cnt++;
      continue;
    }
    else {
      now = rk[i];
    }
  }
  return cnt<=M;
}
int solve() {
  sort(rk+1, rk+N+1);
  rk[N+1] = L;
  int l=0, r=L+1;
  int mid;
  while(l+1<r) {
    mid = (l+r)/2;
    if(check(mid)) l = mid;
    else r = mid;
  }
  cout<<l<<'\n';
  return 0;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0); cout.tie(0);
  cin>>L>>N>>M;
  for(int i=1; i<=N; ++i) cin>>rk[i];
  solve();
  return 0;
}

